package com.dkd.manage.service;

import java.util.List;

import com.dkd.manage.domain.Dto.TaskDto;
import com.dkd.manage.domain.Task;
import com.dkd.manage.domain.VO.TaskVo;

/**
 * 工单类型Service接口
 * 
 * @author cjm
 * @date 2025-05-18
 */
public interface ITaskService 
{
    /**
     * 查询工单类型
     * 
     * @param taskId 工单类型主键
     * @return 工单类型
     */
    public Task selectTaskByTaskId(Long taskId);

    /**
     * 查询工单类型列表
     * 
     * @param task 工单类型
     * @return 工单类型集合
     */
    public List<Task> selectTaskList(Task task);

    /**
     * 新增工单类型
     * 
     * @param taskDto 工单类型
     * @return 结果
     */
    public int insertTask(TaskDto taskDto);

    /**
     * 修改工单类型
     * 
     * @param task 工单类型
     * @return 结果
     */
    public int updateTask(Task task);

    /**
     * 批量删除工单类型
     * 
     * @param taskIds 需要删除的工单类型主键集合
     * @return 结果
     */
    public int deleteTaskByTaskIds(Long[] taskIds);

    /**
     * 删除工单类型信息
     * 
     * @param taskId 工单类型主键
     * @return 结果
     */
    public int deleteTaskByTaskId(Long taskId);
    /*
     * 查询工单类型列表
     * @param task
     * @return List<TaskVo>
     * */
    public List<TaskVo> selectTaskVoList(Task task);
    /*
    * 取消工单
    * @param task
    * @return int
    * */
    public int cancelTask(Task task);
}
